﻿using Common.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Wallpaper.Models.DTOs.Requests.User;
using Wallpaper.Models.DTOs.Responses.User;

namespace Wallpaper.Services.IService
{
    public interface IUserService
    {

        /// <summary>
        /// 用户签到
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        Task CheckinAsync(string userId);



        Task<bool> DeleteAsync(string id);

        /// <summary>
        /// 获取用户登录信息
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        Task<UserAppLoginResponse>  GetByIdAsync(string userId);

        /// <summary>
        /// 获取用户列表
        /// </summary>
        /// <param name="queryRequest"></param>
        /// <returns></returns>
        Task<PagedResult<UserManagementResponse>> PageAsync(UserQueryRequest queryRequest);

        /// <summary>
        /// 更新个人信息
        /// </summary>
        /// <param name="request"></param>
        /// <param name="userId"></param>
        /// <returns></returns>
        Task<bool> UpdateAsync(UpdateUserRequest request, string userId);
    }
}
